/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package controlador;

import modelo.dal.fabricaDal.FabricaOracleDao;
import modelo.dal.fabricaDal.IFabricaDao;
import modelo.dal.iDal.IPlanGeneralDao;
import modelo.dal.iDal.IUsuarioDao;
import modelo.dominio.PlanGeneral;
import modelo.dominio.Usuario;
import java.util.ArrayList;
import java.util.List;

/**
 *
 * @author Felipe
 */
public class Selecter {

    private IFabricaDao fabricaDao;
    private IPlanGeneralDao planDao;
    private IUsuarioDao usuarioDao;
    public boolean daoExist;

    public Selecter(Integer motor){
        this.fabricaDao = new FabricaOracleDao();
        this.daoExist = crearDao(motor);
    }

    public List getLista(Object obj) {
        List listaObjetos = new ArrayList();
        if (obj instanceof PlanGeneral) {            
            listaObjetos = planDao.getListaPlanesGrales((PlanGeneral) obj);
        }
        if (obj instanceof Usuario) {
            listaObjetos = usuarioDao.getListaUsuarios((Usuario) obj);
        }
        return listaObjetos;
    }

    private boolean crearDao(Integer motor) {
        switch (motor) {
            case IFabricaDao.ORACLE:
                this.planDao = this.fabricaDao.getIPlanGralDao(motor);
                this.usuarioDao = this.fabricaDao.getIUsuarioDao(motor);
                return true;
            default:
                return false;
        }
    }

}